package com.mlnx.ui.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mlnx.ui.entity.Patient;
import com.mlnx.ui.pojo.dto.PatientAlarmDTO;
import com.mlnx.ui.pojo.dto.PatientDeviceDTO;
import com.mlnx.ui.pojo.form.PatientFilterForm;
import com.mlnx.ui.pojo.vo.PatientVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PatientMapper extends BaseMapper<Patient> {
    List<PatientAlarmDTO> getPatientDetailsByGroupId(Map<String, Object> paramMap);

    void batchUpdateAlive(Integer[] patientIds);

    List<Patient> selectAllPatientsByUserId(Integer userId);

    List<Patient> selectExistedUUIDs(List<String> xkUUIDList);

    List<PatientDeviceDTO> selectPatientsByGroupId(Integer groupId);

    PatientAlarmDTO getPatientDeviceInfo(Integer patientId);

    Page<PatientVO> selectPatientPage(Page<PatientVO> patientVOPage, @Param("filter") PatientFilterForm patientFilterForm, @Param("sorter") Map<String, String> sorter);
}
